package Object;

/**
 * @Author Justin Parker
 * @Date 2024/7/12 0012 15:52
 * @Version 1.0
 *
 * 测试Object类中的方法toString和equals
 */
public class Demo {
    public static void main(String[] args) {
        Point p =new Point(2,3);
        /*
            Object中定义了toString方法，用语将当前对象转换为字符串
            默认实现的格式:类名@地址
         */

//        String str = p.toString();
//        System.out.println(str);
        //我们经常在控制台上输出一个对象，而该方法就是利用对象的toString转换为字符串后输出的
        System.out.println(p);
        //任何对象和字符串链接结果都是字符串，此时会将调用对象的toString方法，将结果转换为字符串
        String str ="这个对象内容是："+p;
        System.out.println(str);

        Point p2 =new Point(2,3);
        System.out.println(p==p2);//false
        /*
            对于引用类型而言，使用==比较是值比较，等于在比较两个变量的地址，这说明
            在比较两个引用类型变量是否指向“同一个对象“
            而equals方法则是用于比较两个引用类型变量指向的对象“内容是否相同”

            Object默实现equals是==比较，因此没有实际意义，子类需要使用该方法时应当重写这个方法。
         */
        System.out.println(p.equals(p2));//true
    }
}
